home *** CD-ROM | disk | FTP | other *** search
/ Mac100% 1999 April / MAC100-1999-04.ISO.7z / MAC100-1999-04.ISO / オンラインソフト定点観測 / Graphics / X-TRACE67.lzh / XTRACE R67 / X-TRACE / X-TRACE.rsrc / TEXT_750_vrml_cone.xti.txt < prev    next >
Text File  |  1999-01-31  |  1KB  |  66 lines

  1. modela    "Cone for VRML-MODELA bridge"
  2. {
  3.     smooth    vrml.cone.smooth : model
  4.     {
  5.         // parts
  6.         var        BOTTOM=true;
  7.         var        SIDES=true;
  8.         if    (vrml.cone.parts%2=0)
  9.         {
  10.             BOTTOM=false;
  11.         }
  12.         if    (int (vrml.cone.parts/2)%2=0)
  13.         {
  14.             SIDES=false;
  15.         }
  16.  
  17.         // MaterialBinding
  18.         var        nmater=vrml.mater.num;
  19.         if (!(vrml.matebnd.value=vrml.enum.PER_PART
  20.             | vrml.matebnd.value=vrml.enum.PER_PART_INDEXED))
  21.         {
  22.             nmater=1;
  23.         }
  24.  
  25.         var        t1, x1,z1;
  26.         var        t2, x2,z2;
  27.  
  28.         sim        vrml.cone.bottomRadius,vrml.cone.height/2,vrml.cone.bottomRadius;
  29.         boundary    sphere    0,0,0, sqrt (3)
  30.         {
  31.             // poly-cone
  32.             var        i=0;
  33.             while    (i<vrml.cone.pn)
  34.             {
  35.                 t1=2*PI*i/vrml.cone.pn;
  36.                 t2=2*PI*(i + 1)/vrml.cone.pn;
  37.                 x1=cos (t1);
  38.                 z1=sin (t1);
  39.                 x2=cos (t2);
  40.                 z2=sin (t2);
  41.                 if    (SIDES)
  42.                 {
  43.                     attr    vrml_attr_#(0%nmater);
  44.                     poly    "SIDES"
  45.                     {
  46.                         pt    0,1,0;
  47.                         pt    x1,-1,z1;
  48.                         pt    x2,-1,z2;
  49.                     }
  50.                 }
  51.                 if    (BOTTOM)
  52.                 {
  53.                     attr    vrml_attr_#(1%nmater);
  54.                     poly    "BOTTOM"
  55.                     {
  56.                         pt    0,-1,0;
  57.                         pt    x1,-1,z1;
  58.                         pt    x2,-1,z2;
  59.                     }
  60.                 }
  61.                 i=i + 1;
  62.             }
  63.         }
  64.     }
  65. }
  66.